/**
 * Author : Jorge Mejuto Create : 05/11/2009
 */
package net.eyra.negocio.explotacion;

import java.util.List;

import net.eyra.negocio.EyraException;
import net.eyra.negocio.dao.EyraDaoException;
import net.eyra.negocio.dao.InstalacionDao;
import net.eyra.negocio.entidades.gestion.propietarios.afeccion.Acuerdo;
import net.eyra.negocio.entidades.gestion.propietarios.afeccion.Afeccion;
import net.eyra.negocio.entidades.gestion.propietarios.afeccion.TipoAfeccion;
import net.eyra.negocio.entidades.gestion.propietarios.afeccion.Uso;
import net.eyra.negocio.entidades.gestion.propietarios.fincas.Finca;

public class Instalacion {

    private InstalacionDao i_dao = new InstalacionDao();

    public List<Finca> FincasPorParque(int id_parque) throws EyraDaoException {
        return i_dao.CargarFincasPorParque(id_parque);
    }

    public Finca CargarFinca(int id_finca) throws EyraDaoException {
        return i_dao.getFinca(id_finca);
    }

    public Afeccion CargarAfeccion(int id_afeccion) throws EyraDaoException {
        return i_dao.getAfeccion(id_afeccion);
    }

    public void GrabarAfeccion(Afeccion afeccion) throws EyraDaoException {
        if (afeccion.getCantidad_afectada() == 0) {
            i_dao.BorrarAfeccion(afeccion);
        } else {
            i_dao.setAfeccion(afeccion);
        }
    }

    public List<Acuerdo> CargarAcuerdosPorParque(int id_parque) throws EyraDaoException {
        return i_dao.CargarAcuerdosPorParque(id_parque);
    }

    public List<TipoAfeccion> TiposAfeccion() throws EyraDaoException {
        return i_dao.getTiposAfeccion();
    }

    public List<Uso> UsosFincas() throws EyraDaoException {
        return i_dao.getUsosFincas();
    }

    public List<Afeccion> CargarAfeccionesPorFinca(int id_finca) throws EyraException {
        try {
            return i_dao.getAfecciones(id_finca);
        } catch (EyraDaoException e) {
            throw new EyraException(e);
        }
    }
}
